{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Getting Started <img src='data/images/logo.png' width=50> "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "source": [
    "This Jupyter notebook is a short demonstration of Python for scientific data analysis.\n",
    "It covers the following points:\n",
    "\n",
    "* Plotting a sine wave\n",
    "* Generating a column matrix of data\n",
    "* Writing data to a text-file, and reading data from a text-file\n",
    "* Waiting for a button-press to continue the program exectution\n",
    "* Using a dictionary, which is similar to MATLAB structures\n",
    "* Extracting data which fulfill a certain condition\n",
    "* Calculating the best-fit-line to noisy data\n",
    "* Formatting text-output\n",
    "* Waiting for a keyboard-press\n",
    "* Calculating confidence intervals for line-fits\n",
    "* Saving figures\n",
    "\n",
    "author: Thomas Haslwanter \\\n",
    "date:   June-2020"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Modules and Packages"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "source": [
    "In contrast to MATLAB, you explicitly have to load the modules that you need.\n",
    "And don't worry here about not knowing the right modules: *numpy*, *scipy*, and\n",
    "*matplotlib.pyplot* are almost everything you will need most of the time, and you\n",
    "will quickly get used to those."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np                  # for working with vectors and matrices\n",
    "import matplotlib.pyplot as plt     # for plotting"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Sine Wave"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Data have been saved to test.txt.\n"
     ]
    }
   ],
   "source": [
    "# Note: single comment lines are indicated by \"#\".\n",
    "\n",
    "# Create a sine-wave\n",
    "t = np.arange(0,10,0.1)\n",
    "x = np.sin(t)\n",
    "\n",
    "# The basic numerical functions, as well as everything with vector ans matrices \n",
    "# is in the package \"numpy\".\n",
    "\n",
    "# Next, save the data in a text-file, in column form.\n",
    "out_file = 'test.txt'\n",
    "np.savetxt(out_file, np.column_stack([t,x]) )\n",
    "\n",
    "# For displaying formatted text, the \"format-strings\" introduced in Python 3.5\n",
    "# are definitely the most elegant way: they allow to use known variables directly\n",
    "# in the \"print\"-statement\n",
    "print(f'Data have been saved to {out_file}.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b345a9b670>]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAD4CAYAAADhNOGaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABJhUlEQVR4nO29d5Rj13ng+fsAFEIFAF05dld3sxmamWqRlMgRlYfUWKbkY4+lsTXcsT1c2qLX9vEEemcdjs/sjma89sza1khDJ9HHsmRZkk3KokRRtCwqUepm7man6lgJlQuVEArA3T8eXhVYje5GeBF4v3PqVOEF4D7Ue/fL3xWlFB4eHh4ezYvP7gF4eHh4eNiLJwg8PDw8mhxPEHh4eHg0OZ4g8PDw8GhyPEHg4eHh0eQE7B5ALXR3d6vR0VG7h+Hh4eHhKl588cV5pVTPzu2uFASjo6McOXLE7mF4eHh4uAoRuVBuu+ca8vDw8GhyPEHg4eHh0eR4gsDDw8OjyfEEgYeHh0eT4wkCDw8PjybHEEEgIn8uIrMicvQy+0VE/lBExkTkNRG5o2Tf/SJysrjvMSPG4+Hh4eFROUZZBJ8B7r/C/geAA8Wfh4FPAYiIH/hkcf9B4KMictCgMXl4eHh4VIAhgkAp9TyweIVDHgT+Umm8AMRFZAC4ExhTSp1VSmWBzxePNYUXLyzxqX86Y9bbOx6lFP/w2hQzK2m7h2Ib82sZvnVi1u5h2MrrE0nmVjN2D8M2NvMFxmZX7R6Go7AqRjAEjJe8nihuu9z2SxCRh0XkiIgcmZubq2kQX3l1iv/69RN89/R8Tee7nb964QKP/vXLPPrXL1EoNN86FMmNTT76+Av8m88c5vlTtd1DbucLh8f58U9+l0f+6kWacS2S+bUMP/unP+S9f/A83xtrznmgHFYJAimzTV1h+6UblXpcKXVIKXWop+eSCumKeOyB69nf08a/+9tXSW5s1vQebuXFC0v87j+8wUhnhMPnl/ibI+NXP6mBSG/m+bd/eYQLCxv0doT4z199g1y+YPewLOWJ75/nP3zpNQZjEV68sMQ/nWwuYfjq+DIf/KPv8sr4MvHWFv7oH0/bPSTHYJUgmABGSl4PA1NX2G4K4RY//+Onb2d+LcP/9WTZuHZDMrea4Zc++yIDsQhfefRe7tzbyX95+njTuAfyBcWvfP5lDl9Y5A9++lZ+98EbOTWzxucPN48wfPz5M/z2U8d438E+vvFr72B3Zyu/98zJprEMX7ywyE/9rx/gE+FLv/h2fvndB3jh7CJHzl/Jo908WCUIngL+dTF76G4gqZSaBg4DB0Rkr4gEgY8UjzWNm4dj/Op7D/CVV6d48pVJMz/KERQKil/+3EskU5t8+mffQrw1yP/z4ZtJbeb5z199w+7hWcJffO8czxyb4Tf/xUF+7JZB/vmN/dy1t5M/ePYUyVTjW4bJjU3+69dP8v6DffzPn7mDtlCAX3vfAd6YXuFrRxN2D88SvvjiBCG/j6/88r3cNBTjo3eO0NkW5I+/NWb30ByBUemjnwN+AFwnIhMi8vMi8oiIPFI85GngLDAG/AnwSwBKqRzwKPAMcBz4glLqmBFjuhKP3LefO3bH+e2njrHZ4O6BN6ZXeOHsIr/xwA0cHIwCcE1vO7/4zmt48pUpvnO68d0D33hjhpuGovzcvXsBEBF+88cOsrSR5Y+bwD3wg7ML5AuKf/uOfbT4tUf+x28d4tq+dn7/2ZMN7yJTSvH8qXnefk0XnW1BAFqDAX7+3r3808k5jk4mbR6h/RiVNfRRpdSAUqpFKTWslPozpdSnlVKfLu5XSqmPK6X2K6VuVkodKTn3aaXUtcV9/7cR47kaAb+Pn793H8sbmw1/E7xwdgGA+2/qf9P2X3rnfrrbQ3zhyIQdw7KMVDbPyxeXuOea7jdtv2koxk+9ZZjPfP88C2uN7SL77tgcbUE/t43Et7b5fcKvv/86zs6t8+WXG9syPjO3xuRyivuu7X3T9o+9bQ8d4QB//I+eVdC0lcVv3bsLgMMN7iN84ewio12t9EXDb9oebvFz195OXmzw6z9yYZHNvOJt+7ou2ffTbx1hM684cmHJhpFZx/fGFrhrX9eWNaDz/oN9XNfXwZdfamxl4NuntOygd1z7ZmUgGm7hf3v7KF8/luDc/LodQ3MMTSsIejvCjHa18qNzjTsJ5AuKH51b4O4ykyDAodFdTCXTTC2nLB6ZdXz/zAIBn/DW0c5L9t04GKPFL7x0sXHvgYmlDc7Nr3PvDosINBfZ2/Z38dpEknwDB42fPzXHvp42hne1XrLvJ+4YBuCHRcu5WWlaQQBw595OjlxYbNjMiROJFVbSOe7ad+kkCHBoj7a9kTXiH5xZ4LaROG2hS9dgCrf4uWkoxssXlq0fmEXoufL3HrhUEADcNhJnI5vn1ExjFlilN/O8cHaBdxwon3I+2tVKLNLCqxPL1g7MYTS1IHjraCfLG5uMza3ZPRRTeOGs5va5a295i+CGgQ5ag/6GdQ+tpDd5bWKZt+8vf/0Ad+zexasTy2RzjRkw/e7YAr0dIQ70tpfdf/vuOACvjC9bNygL+dG5RTK5AvddV14QiAi3DMd4ZbyxY4VXo6kFwZ17NY34h+cacyL84dkFdne2MhiPlN0f8Pu4bSTesBbB4XOLFBTcfRVBkMkVOD69YuHIrKFQUHxvbJ57r+lGpFztJuzubKWzLcjLDeoee/7UHMGAj7svowyBZhWdmlllI5uzcGTOoqkFwe7OVno7QhxuQEFQKCh+dH6Ru/aWdwvpHNqzi+PTK6xlGu8h+P6ZBYIBH3fs3nXZY+7YEwdoyDjB8cQKi+vZSzKmShERbhuJN6xF8O1Tc9w52kkk6L/sMbcOx8kXFMemGk8ZqJSmFgQiwlv3dnL4/GLD9V05ObPK8sbmZQPFOm8Z7aSgaEiN8PtnFji0ZxfhlstPAgOxCAOxMC9dXLZuYBahxweuJAhA04hPz66xmm6s4rqp5RSnZ9e479ort6S5ZSQGaC0ompWmFgQAd+3tZDqZZmKpsTJn9CyIywWKdW7fHUcEjpxvLEGwtJ7l+PTKFeMDOnfs2cVLDege+87peQ70ttMfC1/xuNtG4igFr000lp9cby75jqsIgt6OMEPxCK822PVXQ9MLAj2tsNHqCV44u8jwrkjZlLlSouEWruvr4MUGmwj1Qrq3VSIIdu9icjnVUO25s7kCh88vXtUaALi1WGjWaFbha5PLdIQDXNtXPlBeyi3DMc8iaGau6+sgGg7wowaKE2zHB64+CYImDF++uNRQrQZ+eG6R1qCfW4bjVz32jmLmTCNZBecX1klvFt5UTXw5YpEW9ve0NVyc4PTMGtf2dVw2UF7KrSNxLi5usLietWBkzqPpBYHPJxwa7eRHDWQRnJ1fZ3E9e9VAsc6h0V2sZ/OcSDROLvmJxArX93dcUk1bjhsHYwQDvoYKGI/NainR11wmbXQnt+/excsXlxsqVjY2u3bZtNmd3FpUGJq1nqDpBQFoE+HZuXWWNxpDG9BXX7phIFrR8W/Zo2XVNJJ7aGx2nf09lU0CwYCPm4diDXX9p2fWEKHi7+C2kTgL69mGiZUtrGVYWM9WLAhvHo4h0rwBY08QoLmHAM7MNUa/Ef069vW0VXT8UDxCXzTUMK6B5MYm82uZiicB0ITh0ckVMrm8iSOzjrG5NYbikSumTZaiF5Y1ilWkW0QHis/21WgPBTjQ2+4JgmZmX1FrOtsgFcZn5tYYiIXLtlUoh4hwoLejYa5frxSvVBsGTSPO5gucbBD32NjsWlWC8Lq+DiIt/oZRBk7pgqCK7+CW4TivTiQbyj1WKZ4gAEZ2RWjxC2cbpAPhmbn1iq0Bnb3dbZydX2+Ih+DMXHX+cdieMBqhC2W+oDgzV7l/HLQq85uGorzeICmUYzOrtIcCDFwldbaUW0fiLDaQe6waPEGA9hDs7mxtCI1YKcXZ2bWqtGHQ3Eir6Rzza+6Pk5yZXSPo9zG8q3xrjXKMdLYiAmcbwD04sbRBNleoShCCZkE1giAEOF20iCrJGNK5ZUgrLGv0NUrKYdQKZfeLyEkRGRORx8rs//ci8krx56iI5EWks7jvvIi8Xtx35NJ3t4Z9Pe0NMQnMrWVYzeSqFgR7uzULohEmgjNza+ztbiNQQcaQTrjFz1A8wvkF919/tRlDOqPdbSysZ1lpgArj01VkDOns163CBrgHqqVuQSAifuCTwAPAQeCjInKw9Bil1O8ppW5TSt0G/AbwbaVUab7mu4r7D9U7nlrZ19PGhYUN1/dlPzOr3cTVCgL9+HPz7reKxmbX2N9bnWsMNGHYCILwtC4IeioLlOqMdmnf2XmXfwfLG1nmVjMcqKCQrJT2UIDu9pDrr78WjLAI7gTGlFJnlVJZ4PPAg1c4/qPA5wz4XEPZ391ONl9gYmnD7qHUhe4frzZGMBiPEPT7XG8VZXJ5Li5ucE2VghCKgmDO/XGSsdk1ejpCxFpbqjqvUazCrYyh3uoEIWjrE5xfcPccUAtGCIIhYLzk9URx2yWISCtwP/Clks0K+IaIvCgiD1/uQ0TkYRE5IiJH5uaMX3BdnzjdPhGemVujNeinP1p5kAy0NWz3dLW6PmB+fn6Dgto286thb3cbq5kcCy6vLh2bXatJEO7p0tqRnJ9390R4aqY21xho7rELnmuoJspFYy6nUn0Q+N4Ot9A9Sqk70FxLHxeRd5Q7USn1uFLqkFLqUE/PlZtI1YKeQnrG5QHjs8WMIZ+v8iCZzr4e97tGztSQOqrTCBqxUkqrqK3SLQJanGQwFnZ9nOT07CqtQS3mUy2jXa3MrGSabm0CIwTBBDBS8noYmLrMsR9hh1tIKTVV/D0L/B2aq8lyOtuCxFtbXK8Rn5mrPmNIZ293OxcW1l3dc0h3C1TrGgPY112Mk7jYKpxZybCWydWkDYOmEbtZEMJ2DUUtytCeYpzkQpO5h4wQBIeBAyKyV0SCaJP9UzsPEpEYcB/wZMm2NhHp0P8G3g8cNWBMNbGvu83VKaSpbJ7J5dTWhFYt+7rb2MwrJl28mP2ZYkVta7CyYrpSBuNhWvzi6qyRrYyhGpWB0e4291sEM9UV05WiW4XNFjCuWxAopXLAo8AzwHHgC0qpYyLyiIg8UnLoh4FvKKVKv+E+4Lsi8irwI+CrSqmv1zumWnF7Cum5+XWUoqaMGSiJk7j4IdAyhmqbBPR6EjdbBKeLfaZqngi72lje2HRt362V9CaJlXRNgWIoiZM0mUVQvdpUBqXU08DTO7Z9esfrzwCf2bHtLHCrEWMwgn09bXzxxQlW05t0hKvLuHACZ+dr94/DtjZ0dm6dd11n2LAso1CsqK20/XY59na7u6hqbHaNaDhAT0eopvNHS+Ikt+8OGjk0Szg9U31riVI6wi10twc9i6CZ2fIRu/QmODO7jsj2hF4tnW1BouGAa2sJppIp0puFmi0igL3drZxfWKfg0nqSsRoqakvZ261rxO58BvTOu9dW2GyuHHu63O8eqxZPEJSw3+UppLp//Epr9F4JEWGfi9sM1OsfB80iyOQKTLt0tbJqm83tZKSzFZ/AOZemkI7NrhEK+Biqor3ITkY9QdDc7O7SHgK3BozryRjS0QLm7nwI9PbbtcYIoCSF1IXfwdJ6tqoe/OUIBfwMxiOudY2ML6YY6WzFX0PGkE4zppB6gqCEUMDPSGcrZ1z4EBQKirNzlS/Gcjn29bQxnUy78iEYm10j3tpCV1vtvm09YO7GzKGLi5oWr7eKqJW9Ls4cmljeqKrZYDn0OEkzpZB6gmAHbtWIEytpUpv5uvzjoLlGwJ3VpRcW1hntaqvZPw7Q2xGiNeh3pUWgt08e3tVa1/uMdrUVM9DcFyeZWErVLwi2agncdw/UiicIdqD5yNdcFyzU/fq1Bop13FxdO7lc/yQgIsWJ0H3uwcllTXjX4x+HYquNtPtabaymN1ne2KxbEO4pBszdGiepBU8Q7GBfTxvpTfcFCyeL2uBInQ/BdgqpuybCQkExtZyqexIE2OvSVhsTSyk6wgFikfpSn91aVKUXQtarDETDmnvRswiamN2d2kQ6segubWBiOYVPoL+KFZnKEQlq/WbcVlQ2u5phM6/q1gZBK6oaX0qx6bJWG5pbpP7rH3WpVTixaIxrDBqjwroaPEGwg8Fio6qppLvaLEwupeiLhmmpYjGWy7G7q5VxlwlC3S0yXEOjsZ3s7W4jX1Du+w6WUjU1WtvJ8K4Ifp+4biLUW8jXaxGAVmHsxjhZrXiCYAf6gzTpsnVLJ5c3DJkEAIbirUy5rN+QHig1wjXkxqwRpRQTS/VnzAC0+H2M7Iq4biKcWEoRbvHVlTWms7erTUvAyOYNGJnz8QTBDsItfrrbg65rvDZpkH8cYCgeJrGSdpVrZEsQGKQRA666B5KpTdazeUMEAbizC6nuGqsna0xnj64MLLrrO6gVTxCUYTAeYXLZPcHifEExvZw2zCIYjEcoKJhxUcB8cjnFrtYW2kL1t8/qaQ/R4hdXWUXbqaPG3APDuyKuc48aUUOgs7dBlu2sFE8QlGEoHmHSRUtWzq6myRWUcRZB8X2mXCQMJ5eMs4h8PqE/FnaZIND94/UHSkFTBpY3NlnPuKewcNKAGgKdraQRl7mIa8UTBGUYikeYXE65pqBm0kC3CGwHzPUArBuYXE4xHDdmEgQYjEVcJQiNtgj0e2naJVbBWibHkgE1BDrRSIC2oN9V7sF68ARBGQbjEdKbBZY2Nu0eSkUYlT+tMxhzl0WgB0qNsghgWxlwCxNLKdqC/rprCHS2sudccg9MGiwIRYSBeIRpl1x/vXiCoAz6hOKWzCFdGxw0yCKIBP10tQVdYxYvrmdJbxYMs4hA+y4TK2nyLqkw16qqjQmUAgwU61Hc4h4z2jUG2j3gtjhJrRgiCETkfhE5KSJjIvJYmf3vFJGkiLxS/PmtSs+1gyGXuUYml1N0tgVrWp7xcgzGI66ZBIy2iEC7/nxBMbvqDo3QiB47pfRFw/jETYLAhHsgFnaNRVQvdQsCEfEDnwQeAA4CHxWRg2UO/Y5S6rbiz+9Wea6l6ILALRrx5FKKwXh9FcU7GXKTIDCwhkBH/z7dYxUa6xpr8fvoi4Zdkz03sbRhWA2BzmA8wvxahvRm49cSGGER3AmMKaXOKqWywOeBBy041zTirS20Bv2u0QYml42pKC1l0EUB8y1t0MBg8bZV6HxBkExtsprOGaoNg7usQiNrCHR0V2si6Y55oB6MEARDwHjJ64nitp28TUReFZGviciNVZ6LiDwsIkdE5Mjc3JwBw748IlIMFjrfNaSUKrYWMG4SBE0j3sjmSaacHzCfXE7REQoQjRjnGhtwUbB0O1Bq9D3gHh/5hEHtNUoZ1OMkLvkO6sEIQVBOBO9UI18C9iilbgX+CPj7Ks7VNir1uFLqkFLqUE9PT61jrZhBl2SNLG1sktrMG+oWgG1fqxvcYxPFGgIjtcH2kNbF0w0asX6fGm8VhpleTruiJbtR7TVKcVvmVD0YIQgmgJGS18PAVOkBSqkVpdRa8e+ngRYR6a7kXLsY2uWOPHKjawh0th8Cd0yERl8/uMc1YmSztVKG4hGy+QLz6xlD39dojK4h0Ol3WeZUPRghCA4DB0Rkr4gEgY8AT5UeICL9UlTXROTO4ucuVHKuXQzFIyyuZx2/ZONW103TtCHnPwRGB0p13FJLMLGUItLip9PAQCnAQLGexOm59EbXEOjofcfcUlRXD3ULAqVUDngUeAY4DnxBKXVMRB4RkUeKh/0kcFREXgX+EPiI0ih7br1jMoIhl0yERjZbK6WrLUgo4HP8RLiSNidQClrzPaf//2G7vYaRrjHYzpxy+ndglkUE7us7ViuGRNeK7p6nd2z7dMnffwz8caXnOoGtorLlNNf0dtg8msszuZyiNegn3mpMRamOHjB3unts2zVmrFsAtElgJZ1jNb1JR9jY79dIjGy2VopbMqeMWqu5HAOxsCvXMK8Wr7L4MrhlXQJ9MRKjtUHQJsIJl0wCZriG3BIsNLLZWimxiDvSqCeWNggFfHS3G+sag+04kRvSqOvBEwSXobcjhN8njk8hNXIdgp24oahs0mS3ADjbNaIHSs2wiETEFQHzqWILdjOUoaF4hPVsnpWUs2OF9eIJgssQ8Pvojzq/xNysjBnQJsK51QyZnHMrKyeXjVuVaiducI2YUVVdihtqCaaTKQYMrqzX0QPmTv8O6sUTBFdAW5fAuTfAeibH8sameRbBLudnjUwupxg0SRvs6QgR8Dl7gRo9o2XIpInQDQHzRDJNf9QsQeiOgHm9eILgCgztcnb6oFmFRDpueAgmDVyZbSd+FyxQo68i1xc1RxAMxiLMr2Ud228nX1DMrGa2uqUajRvcg0bgCYIrMFRsRZxz6Nq9ZuVP62w133PwQ5BIpkybBEAPFjrXIppOphGB3g6TXCMO77ezsJYhX1D0mXQPbC1b6tDrNwpPEFwBvRXxzKozKyunizen7sc0mv5YGHFwK+JcvsDcaoZ+k7RhcH5RWSKZprs9RDBgzqPsdKtw6xkw6R5w47KlteAJgiuwvXavM2+CxIqmDfZ0hEx5/1DAT097yLHXP7eWoaCg3yRBCNpE6OQFahIradMFITg3YK4Lgn4TrcKBWOOvVOYJgiugP2BONYsTyVTRdDXv3+jk5nuJrUnAHEEIWqFavqC2fPFOI5FMmzoJbvfbcer1a/emme5Bp1uFRuAJgivgeEGwkjF1EoBiB0qnXn/S3EApuMM1YqZFEAr46elwrlU4vZIm6PcZ3meplIGYs61CI/AEwRWIRgJEWvwkHKsNpkydBEGbZBPJtCMrK/X/i1kxEtjOGnGiRpgqrhdhvjLg3FqCmWSavljIlPRhHT1WOOfQWKEReILgCohogSLnCoK0qSYxaFbRRjbPasZ5lZWJZJpgwMcug/sslaJPsk50DW0LQnPvgaF42JGCEDSLaMCkGgIdp8dJjMATBFehLxpixoGukY1sjpV0znSLYGsidOB3oAdKzdQGO0IBWoN+EknnaYNbMRKz74FoxNFWodkW0YDD3YNG4AmCq9AfdaaPPJG0RhvcipM4UCM22z8ORaswGnaoRaBNTGZPhP2xkCOtQqWUdg9Y4BoDTxA0Nf2xCLOrzluuT5+YTdcGY84NmM9YoA1CMU7iQEFgReokbAfjnWYVLm9sks0VTH8GtqxCB94DRmGIIBCR+0XkpIiMichjZfb/jIi8Vvz5vojcWrLvvIi8LiKviMgRI8ZjJP3REJt5xeJG1u6hvImt1gJWTQIOewis0gZBm2gdKQiTaaLhAK1BQ5YVuSxOtQqnLbKKdatwdsV57kGjqPsOEhE/8EngfWhrEB8WkaeUUm+UHHYOuE8ptSQiDwCPA3eV7H+XUmq+3rGYQalG3N1uXr56tUxb5B8Ot2iL3jhtErBKGwRNGOpWoc9nXjyiWqaTaVMzpnScahVa5RoD51qFRmGERXAnMKaUOquUygKfBx4sPUAp9X2l1FLx5Qtoi9S7Ar1q1WkPwUwyTUc4QFvIXG0QNGHjtOu3yi0CzrYKzbYIwblWoaX3gEOtQqMwQhAMAeMlryeK2y7HzwNfK3mtgG+IyIsi8vDlThKRh0XkiIgcmZubq2vA1eBks9gKbRicqQ3pk5JVkwA4TxnQUifNv36nWoWJZBqfaI3hzKbUKmxEjBAE5Wzlst+WiLwLTRD8x5LN9yil7gAeAD4uIu8od65S6nGl1CGl1KGenp56x1wx3e1BfOI8bciqQCkUKysdlj5plWsMtjViJwmCzXyBuTXzK8t1NKvQWfdAIpmmtyNMwMQWKzpOtQqNwohvcAIYKXk9DEztPEhEbgH+FHhQKbWgb1dKTRV/zwJ/h+ZqcgwBv4+ejpDjUkjNbjZWSl80zMJ6hk0HteNOrBS1QZMa7pWyZRE4SBmYW82glDUWEWj3gNOUIStqCHScahUahRGC4DBwQET2ikgQ+AjwVOkBIrIb+DLwMaXUqZLtbSLSof8NvB84asCYDKU/FnHUQ6C3XzY7W0KnPxZGKZh1UIl9Ipmi2+SGezo97SHHWYVW+sehaBE46PrBevcoOOseMJK6nyKlVA54FHgGOA58QSl1TEQeEZFHiof9FtAF/M8daaJ9wHdF5FXgR8BXlVJfr3dMRtMfDTlKE9DbL1sRKARnNt+zouGeTsDvo7vdWffAjEXtJXT6YmHm1xxmFVqUPgzOtAqNxJCUE6XU08DTO7Z9uuTvXwB+ocx5Z4Fbd253Gv3RMN8/s3D1Ay3CqtYCOk70kSeSKUa72iz7PL0DpVOwMkaif45Smktq0KSlQathNb3JWiZnmSDsbg8h4ryiOqPwKosroC8WZjWdY90hJfYJi90CAw7UhqzUBsF5PvJEMkW4xUcsYl7DvVL0NR+ccg9YmTUG0KJbhQ65fqPxBEEFOG0itKq9hE68tYVgwOeYiVBvuGelIHBaHnliJWN6w71SnNZmwmqLSP+sRINWF3uCoAKc9hAkLFiMoxS9xN4pE6HVrjHQ7oGVdI5UNm/ZZ16JRDJlrSB0WD2N2et1l6MvGnbMHGA0niCoAKc9BAkLFuPYiZOyRqx2jYED74EVa9pL6HS2BQn6fc65/uI90Bu1ru1LfyzEzKozrt9oPEFQAfqE45RagoSFaXM6fTHn+Mitdo2Bs/LICwXFTDJj+loUpYgIvQ5amyOxkqarLUi4xW/ZZ/ZHwyxvbJLedIZVaCSeIKiA1mCAaDjgqImw30JtELQU2mmHLE6SsDhQCM7KI1/cyJLNFyzLmNFxmlVopSAEZ90DRuMJggpxSrBQKVW0CKzthNofi5DNFVje2LT0c8uRsKj9cilOyiO3wzUGulXojGCp1Vlj4Cyr0Gg8QVAhTkkfTKY2yeQKlmtDTvKRJyxqv1xKeyhAeyjgiElAH4Md94BTlqycWbHeInDSM2A0niCokIGYM5astCNbApyVR56wqP3yTvocUmGuByytjhP1R8OkNvOspO2tp8nmCiysZ+mz2CrW7zknKIRG4wmCCumPaiX2OZtL7Lf94xY/BA5KobXDNQZF96ADJoGZYvvl7nZr0od1nDIRztokCLeWrHRYF1Yj8ARBhfTFwhSU1ufHTmZscgv0djjDLM7lC8yvZSyfBMA57sHESpqejpAl7ZdLcUrPKT1OYbVVqNfTOOEeMBpPEFTIgENSSPWJWJ+YrSIY8NHdHrR9Ephfy1JQ0GuDIBiIhZldzZC3eXGSmRVrU0d1nOIj31qv2+JnAJy5SJMReIKgQpziGplZSdPdHiQYsP5f5wTXiB01BDr90TD5gmLBbqvQhkApbBdv2f0M2JU1pX+m3cqQGXiCoEKckkM8s5Kx3BrQcUKbCaubjZXS5xCN2MpFiUoJt/jZ5YAlK2dWtRYru1qtabhXSm801JBLVnqCoEI6W4O0+MX2plN25E/rOMFHrn++la0FdJyQR57ezLO8sWl5xoyOI+6BZJreqLUtVnT6o+GGXLLSEwQV4vMJvR0OeAhscguANgksbWySydlXYp9Ipgn4hO42GwSBA6zCWT1QatM94AT34MyKPckC4Ix7wAwMEQQicr+InBSRMRF5rMx+EZE/LO5/TUTuqPRcJ9EXDdl6A9iVP62jPwSzNlpFmmsshM9nvTbY1R7C7xNbJ0L9s20TBA5YxN5WZcghKbRGU7cgEBE/8EngAeAg8FERObjjsAeAA8Wfh4FPVXGuY7BbG7Irf1qnzwFtFmZW0rZkDAH4fUJvR8jWNgt2xkhAE0AL6/YtWamU0goKbbYI7BaGRmOERXAnMKaUOquUygKfBx7cccyDwF8qjReAuIgMVHiuY7C7H/lW2pxNk4AT8sjtCpTq9NrsI5+x2yKIaUtWzq7aMxGuZXJsZPO2WcU9HdqSlXa7x4zGCEEwBIyXvJ4obqvkmErOBUBEHhaRIyJyZG5uru5B10JfNMx6Ns+aTUtWbhXS2JQ1pD98dk+EdmnDoHVhtVMQzqykCbf4iIata7hXit3KgN0Wkb5kpd0ptEZjhCAo56zdmVt1uWMqOVfbqNTjSqlDSqlDPT09VQ7RGOx+COzMnwaIRVoI2bhk5UY2x2o6Z0vGkI7drZitXqJyJ/p3P2vTd6C7ZOyyiMD+e8AMjBAEE8BIyethYKrCYyo51zHYXUsws2Jf/jQUS+xj9q3bascSlTvpi4VZTefYyNpkFSbti5GA/dXFdrvG9M/2gsWXchg4ICJ7RSQIfAR4ascxTwH/upg9dDeQVEpNV3iuY+i3OWNAC5Takz+tY2ecRHeN2SoIOvR7wB5hOLNqb4zE7iUrt7OmbLQKYyHPItiJUioHPAo8AxwHvqCUOiYij4jII8XDngbOAmPAnwC/dKVz6x2TWeg3n50PgZ2TABQFgU3rtm4Xk9moEdtYVLa1KJGNMRK7l6ycXUnTYfGiRDtpxCUrDfk2lVJPo032pds+XfK3Aj5e6blOpTUYoCMcsFUjPjgYteWzdfqjIb5RXJzEasvE7kAh2Ose1Bcl6u2wTxsGe33kTlCGekvugT1dbbaOxSi8yuIqseshUEpphTQ2ZQzp9EXDZHIFkinrl6xMrKS3VgqzCzuXrNxyjdkoCMHeJSsTKxnbr3+7urhxagk8QVAlWqDI+htgtZg/bfWCNDvps/Eh0GMkdtIeCtAW9NtiEdjZebWUvmKrFTuWrJxdSdvWdFHHSetXG4UnCKrErowBuxak2YndGrHdkyDoGnEz3wMhNrJ5Vi2up8kXFLOrGecoQw1US+AJgirpj4VsWZxkxuZmYzr9Nj4E2hKV9gsCu9px29l5tRS7JsKFde25s/sZiIYDRFr8nkXQzPTpi5OsW+sacYpboNemzKlCQTG7am8OvU6/Te7BxEqaXa0thAJ+yz+7FLtqCWYcUEwGpfU0niBoWra1IWsnAicU0gCEAtriJFa7RpY2smzmlS2L1u9Edw1ZvTiJnV03S7ErhdYpyhAUOxF7rqHmxTZtaCWtmaRBe7VBsCdOsjUJ2JwxAtDXESJXsH5xkhkHZMyAfSm0TlGGoPHaTHiCoErsegjsLiQqxQ6zWF8DwRGuIRs1YrvTh0FbsjIWabHcPTazksYn0N0etPRzy9EXCzO7krE0c2o9k+PI+UVW08anbnuCoEq624P4xB5tyAmaENizOImz3ALWKwOb+QLzaxnbWpDvxA6NeGYlTU9HiIDf/mmrryNMNl9gcd06q/BEYpWf/PQPOHJ+yfD3tv8bdRkBv4+eDutbEc+sZBwjCHptWJwkkUwjovWDtxs7Umjn1zIoZW+PnVLsSKFNOOgZsOMeMLP7sCcIakDrt2OdRpwvKObWnJFDD5o2qBTMWfgdzK6m6WoL0eIAbbC7XVucxErXiBM6r5Zix7oMM0nnWMX6OKxctlUXOgOeIHAGVnfgnF8r5k87xS0Qsz6FVIuROEMbtmNxEicFSkETSPNrGXIWWoXTyZQpk2At2GMRpAgFfMQixreh9wRBDVjtH92aBBzgFgG2SvytXJwk4ZCqYh2r7wG7FyXaSW80TEHB3Jo1GvF6JsdKOuec69eXrLRQGZhOphmImbMokScIaqAvGiKZsq4NrdMmATuyZmZtXLS+HFan0E4XFyXqarM/YwasX63PTLdILbT4fXS1hSy9B8zMHPQEQQ1YnTWixyOcohF3tgZp8YtlK5WlN/MsrGcZdMgkANYvTqJPAnYuSlTK9iJN1twD2zGSiCWfVwlW3wOaRWDO9XuCoAas1ogTyRR+n9DV7gzXkM8n9HZYpxFvr0PgnEmgr8PaxUmmHVRHAtYrQ9NJZ1kEYG3PqUJBa0PvSItARDpF5FkROV38vavMMSMi8i0ROS4ix0TkV0r2/Y6ITIrIK8WfD9QzHquwurp4OpmmryOE3+cMbRCKJfZNPAnogXurskYSRf+wU+hq061Cq5UB53wHVroHF9az5ArKtHugXovgMeA5pdQB4Lni653kgF9XSt0A3A18XEQOluz/70qp24o/rlipzGqLYHo5zUDcOdowWFtdnHCgILBSGXDCEpU72bIKrXoGkil2tbYQbrG/xYpOXzTMkkVWof4MmJU1Vq8geBB4ovj3E8CHdh6glJpWSr1U/HsVbW3ioTo/11Y6wi20hwJbmqrZJEw0CWulr2gWW1FiP5VMAc7SBq1MH1xYz5LNFxhwSIxIpzdqnY9cE4QOU4YsrCWYLj4DTrUI+pRS06BN+EDvlQ4WkVHgduCHJZsfFZHXROTPy7mWSs59WESOiMiRubm5OoddPwOx8NY/x0yUUkwtpxwVKAUYjEXYyOZZSZu/OEkimSYWabF1wfKd6D1/rNCIt7PGnDcRWukedZJFCNvuQSu+A7ObLl5VEIjIN0XkaJmfB6v5IBFpB74E/KpSaqW4+VPAfuA2YBr4/cudr5R6XCl1SCl1qKenp5qPNoWBeMQSi2B5Q1uw3GmTwEBcuyGtEIZOnASiEW1xEivuASfGSECzCq2MkTjJIoTStYutuQcCPqG7zZyEkauqWEqp915un4jMiMiAUmpaRAaA2csc14ImBD6rlPpyyXvPlBzzJ8A/VDN4OxmIhnljauXqB9aJ7hZxmkWgT0rTy2mu74+a+llOqijVEREG4tZYhQmT3QK10h8Ls5bJsZrepCNsfLWrjp4+7DTXmJWCQG+v4TMpYaRe19BTwEPFvx8Cntx5gGiJz38GHFdK/cGOfQMlLz8MHK1zPJYxENdK7LM5c0vsnVZMpqPnM09ZMhE6zz8MmntsyiKLIOCg9GGdAYuSJnSrw2nPQDQSINzisyRpxOz04XoFwSeA94nIaeB9xdeIyKCI6BlA9wAfA95dJk30v4nI6yLyGvAu4NfqHI9lDBYnJrO1AX2iGXRY1lBvRwifaBaBmWRyeebXso7ThqEYJ1q2RhD2RcOOSh+G7Xty0uTvYDtQ6qxnQEQYiFnjIjY7YaSu6JtSagF4T5ntU8AHin9/Fyh7ByulPlbP59uJ/k+ZWk4x0tlq2uckkinNN+gwbTDg99EXDZtuEThVGwQtTjRXtAqDAfNqM50YI4ES96DJE6GTVqfbyUDM/GdAKcV0MsV7rr9iLk5deJXFNTIYtyZjYHrZmdogaA+B2Wbx1LIeI3GWNggwFNfacZttFToxfRi0YLFmFZptEThXEAzGI6ZbxVpfs4KjXUNNi+6znjL5JnBaa4FSrMiccrY2qN0DZn4HujboRIugxe+jtyNsepwkkUzTEQ7QHnJO+rDOYCzMzGra1EWatrPGzFOGPEFQI+2hAB3hgOlZI06dBEB7CKaWU6YWlTk1dRK2rUIz74FtbdB5FhFoSRNTFsQInNJwcSeD8YjpVuG2MmSee9gTBHUwaHKgSNMGnekfBk1DyeQKLG0Yv5i2zvRyimg4QJsDtcEBC6xCJwtCMP8ZAGfWEOjorV/M/A6sKCj0BEEdmJ1HrheTOS1bQmegJGBuFma23q2XtlCAqMlWoVPTh3UG4+ZbhYkV5ypDQ3FrngERLVPPLDxBUAdmB0unHFpIpGOJNuTQQKnOYDxiqkXg+HvAZKtwM19gdjXjXNeYBVZhIpmip93c9bo9QVAHA7EI82tZMjlzug9udd10WA2Bjl7tnDBRI3ayawzM7zmVSKbxCfQ4LH1YZ9BkjXhuNYNSzhWEbaEAsUiLBVaxudfvCYI6MLuycsrh/uHu9hAtfjEtaySbKzC/lnGsawg0IW32JNAXDRMwURush22N2JzvwMmpozpmKwNmLkij48y7yyWYnT7o1GIyHZ9P6IuaV107s5J2tDYImlW0tLFJKmueVejkSXDQZPegE9ei2MlQPMKkyQkDZmdNeYKgDszuwOnkYjIdM/vtOLmGQGdbGTBLI3Zu+jBoK5UF/T7Tqmu32ks4aK3inZiZNKI19cuZHiPxBEEdbGfNmDMROt0/DuY+BLq7wcnfwbYyYPw9oKcPO2nB9p34fEJ/LGzaM5BIpom0+IlGnJc+rDMYj7C8sclG1vi1OayyiDxBUAetQS1QZFaMYDqZcrQ2DMUlK5NpCgXj0wedHiyH7dYXZvjIVzM5NrJ5RwtC0ALGZrkHp4upo1oTY2cyaGLmkNlLVOp4gqBOzAoU6dqg07qO7mQwFmEzr5hfN36Bkulkmo6QM1sL6OiC2gyLwOk1BDpmFpU5PUYC5tbTTC5vADC8y3MNORqz8siX9JXJHFpar2Nm5pQbLKJwi5+utqApyoDTq4p1BuLakpV5E6zC6WXn3wPbAXPj74GJpRQ+MV8Z8ARBnfTHzFm31ezFqo1CfwjMMoudPgmAecqA7m4x2y1QLwOxCPmCYnbV2O8gmyswvZJmZJd5bd6NoD8WRgRTMocmllIMxCKmFpOBJwjqZjAWZnE9S3rT2PRBvbWtk/3jUNqT3hyN2Intp3dilntwYimF3yeOVwaGTFIGppMplDLfLVIvWhfWkClxkomlDUuuvy5BICKdIvKsiJwu/t51mePOF1cie0VEjlR7vpMxq5ZgesUdboHOtiChgM/w68/k8sytZVxjEZjRk35iaYOBmHOLyXTMSqMeX9Tez8yFn4xiIBYxJYV2YinFsAUWUb132GPAc0qpA8BzxdeX411KqduUUodqPN+RmKURTy87u5hMR1uuz/hWxFPLWjHZbldMAmFWi4u4G8n4UsrxbhEoUYYMFoYTS9YESo1gyARlIJsrkFhJO98iAB4Enij+/QTwIYvPt52txmuGPwQpBuMRRxeT6fTHwoZbBBcXtUnAFdqgSdW144sbjHQ6fxKMhgO0Bf2Gr108vrRBwCeOT5gATRmYNLgLq5WusXoFQZ9Sahqg+Ptyi2oq4Bsi8qKIPFzD+YjIwyJyRESOzM3N1Tls49AtAqMfgouLG67QhqGYPmj0JLAlCJw/EQ6akD6Y3swzu5qxxC1QLyKiuccMtoonllIMxJ3vGgPNPWh0F1bdNWbFPXDVBG0R+SbQX2bXf6ric+5RSk2JSC/wrIicUEo9X8X5KKUeBx4HOHTokHnNz6sk3OKnLxra0mCNYnxxg/ffWO5rdx6D8Qgzqxly+YJhD+340gZBv4++DhdogyZYBBNLun/c+YIQzFm2dHxxwxWuMXhzF9bOtqAh72mla+yqT61S6r1KqZvK/DwJzIjIAEDx9+xl3mOq+HsW+DvgzuKuis53Ons62wwVBOuZHAvrWddMAiOdWvqgkRPB+KKWLeFzgWusryNk+CLu48VJwDUToQltJsaXUq6ID0BpGrVx94CVWWP1qm9PAQ8V/34IeHLnASLSJiId+t/A+4GjlZ7vBkY6W7dcGUagTwJucQ3pfnwjheH4Yophl1x/wO+jPxpmfMnAScBFMRLQ1+bIGLY2R3ozz9xqxjWC0IzsQSuzxur9hE8A7xOR08D7iq8RkUERebp4TB/wXRF5FfgR8FWl1NevdL7b2N3ZSmIlbVgtwcUFdwmCPV1tAFxYMFYY7naJRQTad3BhYd2w9xtfShEM+By7IM1Otl0jxkyEumts2CX3QFdbkGDAZ7hFYJVFVFcTF6XUAvCeMtungA8U/z4L3FrN+W5jd1cEpbR/3DW97XW/n65Zu0UQ9EfDBP0+LiwaMxGupDdZ3th0jTYIsKerlW8enzHs/dzkGoNtZeDi4gZ7u9vqfr8Jl7nGfEUXjpFJIxNLKe490G3Y+10J54fjXYA+YRvlHppYStFRXALPDfh9wvCuiGHXP+4ytwjA7q5W5teyrGWMaUU8vuSeQCnAaJc2VqOsIt3N5oasKZ3dBrqIM7k8M6vW1BCAJwgMYXfntjZkBBcXNxjpbHV0692d7O5qNcw1pKfNucUiAi1hAAycCBdTrkkWAOjpCBFp8XN+3ihlSMsa6+1wh2sMNKvwvEHPwHSxoNIqQegJAgPobg8SafEbKgjcNAkC7Ols5eLChiEFNW5zC4A2CcB2fKceVtKbJFPuco2JCHu6WrlokHtwYjHFkItcYwCjXW0kU5ssrWfrfq9xi6uqPUFgACLC7s5WQwSBUso1FaWljHS2sprJGVJQc3Fxg45wgFirO1xjoFlEABcMuAfc6BoDYzViq5qtGcloMU5y3gCrcCtY7gkCd2FUCuncaoZMruA+i6DLOPfYuAstomi4hc62oCHuse2KUvdNhBcXNgxZl2DcomZrRjLarcdJ6r8HJixur+EJAoPQLYJ6XSNu6rFTyh4Dg4Vuaba2E+0eMEIbdJ9rDDRlIJsv1L0+x3omx6KLCip1hne1ImKcRWBlew1PEBjEnq5WNrJ55tfq8w+6LXVUR5+06vWRu9U1Bto9YIw2mKI9FCDuItcYGJc5NOHCjCHQ2s0MxiKcnzdGEAzHrbt+TxAYxG6DqmsvLm4gAkMucwtEgn56O+rvueRW1xhoAfOp5RTZXKGu99FrCNyUNQYlcZI6heG2ReSuZwA095ARcRKrYySeIDCIEYNqCcYXU/RHw4QCfiOGZSl7ulrrDpZuZUu4UBDs7mqjoLYnsloZX9pwnWsQtDYLQb+vbteI/gy5zSIAYyrMM7k8MyvWdp71BIFB6NK7Xo14fNGdkwBowrBe19DWqlSunATqzxzSXGPujJH4fcJIZ6Tue2BiKUW4xUd3uzFdPK1ktKuVpY1NknVkz+ltOjyLwIWEW/z0R8N1m8VurCHQ2dPZVnfPpYuL1uZPG4kRtQQL61lSm3lXxkhA04jrdY2ML20UA6/uco2BMSmkdqzM5gkCA6m3xDy9mSexknalNgjbE2E9rpHxxQ36oiHCLe5zjfW0h2gN+utSBrZqCFx8D1xYWK8re06ziNwpCEe76xcEuiDVYy5W4AkCA9ndVV9Rmd6waneXOx8C3aVV10Tosh47pWwXFtY+CYwvuWfB9nKMdrXVlT2nZ425MT4A20kj9TwDYzOrtIcCli7R6QkCA6m3HbVbU0d1tlwjdQhDrceOO68ftP9dPa6RcRe7xqD+epKZlQyrmRwH+urv4msH4RY/A7FwXRbBqZk1rultt9Q15gkCA9En8IkaFyhxa2sBna62IG11uEayuQLTSXcLgj1Fq7BQY3Xt6ZlVBmJh2kJ1dYi3jT1bPvLa7oGTM6sAXNvXYdiYrGa0q62uWoLTs2tca7EgrEsQiEiniDwrIqeLv3eVOeY6EXml5GdFRH61uO93RGSyZN8H6hmP3Wyv1FXbTTC+uEG4xT2LkexERLTMoRotgnPz6xQU7DOgn71d7O5qI5srMLNaW3XtyZk1rut37yQ4FI/g9wkXa9SITzeCIOiuvbBwaT3L/FqGA73WXn+9FsFjwHNKqQPAc8XXb0IpdVIpdZtS6jbgLcAG2rrFOv9d36+Uenrn+W5iq6isxptgbHaN0a42V2ZL6OypI05yIrECwPUDLp4E6iiq2swXODO7xnUungSDAR9D8UjtFkFile72kGELwNvBnq42FtazrKSrTyE9VRSEVrvG6hUEDwJPFP9+AvjQVY5/D3BGKXWhzs91JN3tQTpCAc7M1aYNHZ9e5eBA1OBRWcuerraaXSMnEqu0+IV93e70D8P2ugS1KAMXFtbJ5guutghgO3OoFk7Z4BYxGj2FtJZ74PTsGgAHLFYG6hUEfUqpaYDi796rHP8R4HM7tj0qIq+JyJ+Xcy3piMjDInJERI7Mzc3VN2qTEBFuGIhyfHql6nOX1rMkVtKu1oZBewiyuUJNS/adTKyyv6edYMC9oavBeJiAT2patvNkQpsE3OwWgdrbURcKirGZVddfv96F9FwNcYLTxYyhwZh1GUNQgSAQkW+KyNEyPw9W80EiEgR+HPjbks2fAvYDtwHTwO9f7nyl1ONKqUNKqUM9PT3VfLSlHBzUBEG1GvHxolvkBpdbBDcUBdmxqeqF4YnpFa53uTYc8PsY6WzlzGwtgmAFn2DIutd2oi/QsrxRXQrp5HKK9Wze9YJgO4W0BkEwa33GEFQgCJRS71VK3VTm50lgRkQGAIq/Z6/wVg8ALymltlb4VkrNKKXySqkC8CfAnfVdjv3cMNDBejZftZ/8+LTmG7y+392C4Pr+KD6BN6aSVZ2XTG0ylUxzncuvH+DgQJRj09VdP2gZM6Pdba4spitFd41U6yI9PasHit0tCFuDAfqioZqsolMzaxywQRGo1wZ/Cnio+PdDwJNXOPaj7HAL6UKkyIeBo3WOx3YODsQAqnYPnZheobs9RI+L1mgtRyToZ39Pe9UWwclEURC63DUGcONQlPHFVNX9Zk4mVl0dKNa5cUgT5seqVAZ015jV/nEz2Nvdxpm5tarO0TOG7LCI6hUEnwDeJyKngfcVXyMigyKylQEkIq3F/V/ecf5/E5HXReQ14F3Ar9U5Hts50NeO3ye8UaUgOJ5Y2XKruJ0bB6M1CIJixpDLXUMANw9pykA1E2Eqm+fC4obrA8UA/dEw3e1BXpuoThCcnlmlPxomFnHXOgzluHEwxvHpFTbzlbck1wPF19hgEdUlCJRSC0qp9yilDhR/Lxa3TymlPlBy3IZSqkspldxx/seUUjcrpW5RSv24Hnh2M+EWP/t72nijiokwly9wambN9fEBnRsHYyRW0iysZSo+50RilVikxdKyerO4cVATBEerEARjs2soRUNYBCLCzUMxjk5WaRHMrHJtAwhCgFuGY6Q3C1vpoJWw7Rpzn0XgUYaDA9GqLIJz8+tkc4WGsgiguoDxicQq1/V3uLqGQqezLchQPMLrk9Vcv3ZsI1gEADcPxzk1s0oqW1m7lXxBMTa7xrUuD5Tr3DocB6jKKjo9s0Zb0G95xhB4gsAUDg5GmU6mWVqvLGtCFxpuDxTrHKxSECilOJlY5YYGmQSh6B6rQiM+NbNKKODbatHgdm4eilFQ8EaFQfPxxQ0yuULDWAR7ulqJRVp4bWK54nNOzaxyTZ89ypAnCEyg2oCxXki1v6cxtKF4q6YRV+ojn1hKsZbJNUTGkM7NQzHOzq+zWmF16YnE6lZ8qRG4ZVh7Bl6vUCNuhB5DpYgItwzHeHW8Cotg1p6MIfAEgSnoLp5K3UPHp1dcX0i1kxsHoxXHSfSMoUZxiwDcNKQrA5X5iE81QCFVKX3RMD0dIV6r0CrSewzZNRGawa3DcU7OrFbUjXh5I8vcasa21NnGmXkcRFd7iL5oqGJBcKIBWkvs5MbBGOcW1lnP5K56bKP5x2E7hfL1CibC5Y0sMyuZhggUl3LLUKwKi2CN4V0R13ZdLcctwzHyBVWRi9Su1hI6niAwiYMDlWnEjdJaYic3DkZRqjL32InEKiOdEdobaBLo7QjT2xGqKE7QiBYRwM3DMc7MrVWkDJyeaYwailJuHYkDVBQn0O8BzzXUYNwwEGVsdo1M7spmoT5RNkrqqI6uEVdiFZ1IrDZMoLyUm4diFaWQ6imGDScItgLGV74H0pt5zsytNUQhWSl90TB90RCvji9f9dgfnFmgLxpiKG7PgkSeIDCJg4NRcsWUuCtxPNEYrSV20h8Ns6u1hWNXSaFMb+Y5N7/eEIVkO7lxKMbY7NpVUyhfGU8Sb22MGopS9MK6q6VQ/uDMApt5xdv3d1kxLEu5ZTh+1evP5Qt85/Qc913bY1v6tCcITEL3+V/NPfTGVGO0ltiJiHDjYOyqPXdeurBEvqC2Jo1G4qbB6FU14nxB8a2Ts7ZOAmbRGw3THw1ftbDsuRMztAb93LWv06KRWcetw1r2WDJ1+eyxV8aXWUnnuO/aqzVvNg9PEJjEnq42WoN+Xr2CfzBfUHz71BxvHb1s921Xc+NglFOJtSuW2T99dJpIi59/dsC5HWVr5aYKWk28eGGJxfUs7zvYZ9WwLOWmodgVfeRKKb51Yo57r+kmFHB3s71y3FIsLLuSMPynk3P4fcK9B7otGtWleILAJPw+4b5re/j60QS5y0yEPzy7wPxahg/eOmjx6KzhluE42XyBI+eXyu4vFBTPHJvhXdf3EAk23iQwEAvT1Ra8YubMN44laPFr90ojcktRI167TMD45Mwqk8sp3nODfdqwmej1FFdSCL99ao7bR+K29ljyBIGJfPj2IebXsnxnbL7s/q+8NkVb0M+7rmvMh+Bd1/fQHgrwxRcnyu5/8eISc6sZ7r9poOx+tyMi3LWvk28enymbNKCU4tnjM7x9fzcdYfc3WivHzcMxlNIsn3I8d1zrXN+oz0C8NchoVyuvXaawbG41w+uTSd55nb2KgCcITOSd1/USb23h716avGTfZr7A144meO/BvobUhkHry/7BWwd5+vXpshW2X3s9QTDg493XN+YkAPDRO3eztLHJ115PXLLv9OwaFxY2GtYtBPC2fV3sam3hsy+UX532H0/McvNQjN4GC5SX8pY9nXzvzHzZZ+D5U9pqi3bGB8ATBKYSDPj4sVsG+MYbiUtM4++OzbO8sckHb2lMt5DOvzw0TGozz1dfe3NjWaUUXz86zTsOdDdU/cBO7tnfzZ6uVj77w0snwm8c04RDIwuCcIuff3XXbp49PsP4jsWaFtezvHRxqaEVAYCH3r6H1XSOz/3o4iX7vn1qju724FajRrvwBIHJfPj2IdKbBb5+9M0a4VdenaIjHOCfXWtfgMgKbhuJc6C3nS8cGX/T9lcnkkwl0zzQoG4hHZ9P+Jm7dnP4/NJW0ZDOs2/McOtInL4G1oYBPnb3KH4Rnvj++Tdt//apWZSiYeMDOrcMx7nnmi7+9Dvn3uQizBcUz5+e4x0HevDZ3GPKEwQmc8fuXezubOXvX952D6U38zx7bIb7b+xvyEyJUkSEf3lohJcuLjM2uz0Rfu3oNAGf8N4bGlcb1vnJt4wQ9PveZBXMrKR5dSLJ+xvYGtDpj4V54OYB/ubw+Jss4+eOz9LTEeKmwcZLHd7JL953DbOrmTe5iV+bWGZ5Y5P7bI4PQJ2CQER+SkSOiUhBRA5d4bj7ReSkiIyJyGMl2ztF5FkROV383XB5lCLCh24f4ntn5kkk04BmDq5mcg2bLbSTD90+RMAn/O0RLWislOJrryd4+zXdxFobM0haSmdbkA/c3M+XX5rcarfwlVengMZ2C5Xyc/eMsprJ8aVi4sCJxArfPjXHu6/rtV0btoJ7runipqEojz9/lnxBMb+W4feeOYlPcETqdL3O2aPATwD/63IHiIgf+CTaUpUTwGEReUop9QbwGPCcUuoTRQHxGPAf6xyT4/jw7UP84XOn+ZXPv0ws0sKxqRU624INWUlZjp6OEO++vpcvvjhBMrXJj84tcnFxg1965367h2YZP3v3Hv7+lSl+88mjjM2u8dpEkoMD0Ybqtnklbt+9i9tG4vzF985xIrHK3xy+SEe4hZ+5e7fdQ7MEEeEX77uGj//1S3zia8f5u5enWElv8l9+4mY624J2D6/upSqPK6VOXuWwO4ExpdRZpVQW+DzwYHHfg8ATxb+fAD5Uz3icyt7uNj5wcz9n59e5uLjB7s5WHrv/egL+5vHM/czde1hYz/LV16fZ293Gb/3YQX7yLcN2D8sy3rJnF9f3d/DllyZJb+b5nQ8e5PP/+90NV018JX7u3r2cX9jgb4+M89DbR/n2v3/nVsFVM3D/Tf2MdrXyJ985x67WFp569B5++q3OEISilKr/TUT+Cfh3SqkjZfb9JHC/UuoXiq8/BtyllHpURJaVUvGSY5eUUmXdQyLyMPAwwO7du99y4UL5dDQP55JIpunpCDXM4ivVMr64wfxahttG4k0lAHRy+QKfOzzO2/d3NcwiTNXygzMLvHB2gUfu229L2riIvKiUusSNf1XXkIh8E+gvs+s/KaWerOSzy2yrWvoopR4HHgc4dOhQ/dLLw3L6bViL1UmMdLYy0tlq9zBsI+D38bG799g9DFt52/4u3uZAl/BVBYFS6r11fsYEMFLyehiYKv49IyIDSqlpERkAZuv8LA8PDw+PKrHCSX0YOCAie0UkCHwEeKq47yngoeLfDwGVWBgeHh4eHgZSb/roh0VkAngb8FUReaa4fVBEngZQSuWAR4FngOPAF5RSx4pv8QngfSJyGi2r6BP1jMfDw8PDo3oMCRZbzaFDh9SRI5fEpT08PDw8rsDlgsXNk7/o4eHh4VEWTxB4eHh4NDmeIPDw8PBocjxB4OHh4dHkuDJYLCJzQK2lxd1A+SXDGptmvO5mvGZozutuxmuG6q97j1Lqki53rhQE9SAiR8pFzRudZrzuZrxmaM7rbsZrBuOu23MNeXh4eDQ5niDw8PDwaHKaURA8bvcAbKIZr7sZrxma87qb8ZrBoOtuuhiBh4eHh8ebaUaLwMPDw8OjBE8QeHh4eDQ5TSUIROR+ETkpImPFNZIbGhEZEZFvichxETkmIr9i95isQkT8IvKyiPyD3WOxChGJi8gXReRE8X/+NrvHZAUi8mvF+/uoiHxORBpuBSQR+XMRmRWRoyXbOkXkWRE5XfxddnXHSmgaQSAifuCTwAPAQeCjInLQ3lGZTg74daXUDcDdwMeb4Jp1fgWt7Xkz8f8BX1dKXQ/cShNcv4gMAf8HcEgpdRPgR1vzpNH4DHD/jm2PAc8ppQ4AzxVf10TTCALgTmBMKXVWKZUFPg88aPOYTEUpNa2Ueqn49yraxDBk76jMR0SGgX8B/KndY7EKEYkC7wD+DEAplVVKLds6KOsIABERCQCtbK+A2DAopZ4HFndsfhB4ovj3E8CHan3/ZhIEQ8B4yesJmmBS1BGRUeB24Ic2D8UK/gfwH4CCzeOwkn3AHPAXRZfYn4pIm92DMhul1CTw/wIXgWkgqZT6hr2jsow+pdQ0aEof0FvrGzWTIJAy25oid1ZE2oEvAb+qlFqxezxmIiI/BswqpV60eywWEwDuAD6llLodWKcOV4FbKPrFHwT2AoNAm4j8rL2jch/NJAgmgJGS18M0oAm5ExFpQRMCn1VKfdnu8VjAPcCPi8h5NPffu0Xkr+wdkiVMABNKKd3i+yKaYGh03gucU0rNKaU2gS8Db7d5TFYxIyIDAMXfs7W+UTMJgsPAARHZKyJBtIDSUzaPyVRERNB8xseVUn9g93isQCn1G0qpYaXUKNr/+B+VUg2vISqlEsC4iFxX3PQe4A0bh2QVF4G7RaS1eL+/hyYIkhd5Cnio+PdDwJO1vlHAkOG4AKVUTkQeBZ5Byyz4c6XUMZuHZTb3AB8DXheRV4rb/k+l1NP2DcnDRH4Z+GxR0TkL/Bubx2M6SqkfisgXgZfQsuRepgHbTYjI54B3At0iMgH8NvAJ4Asi8vNoAvGnan5/r8WEh4eHR3PTTK4hDw8PD48yeILAw8PDo8nxBIGHh4dHk+MJAg8PD48mxxMEHh4eHk2OJwg8PDw8mhxPEHh4eHg0Of8/PpuBKmtc/0AAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Read the data into a different variable\n",
    "inData = np.loadtxt(out_file)\n",
    "t2 = inData[:,0] # Note that Python starts at \"0\"!\n",
    "x2 = inData[:,1]\n",
    "\n",
    "# Note: Python used (...) for function arguments, and [...] for indexing.\n",
    "\n",
    "# Plot the data\n",
    "plt.plot(t, np.cos(3*t))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Noisy Data and Linefits"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "source": [
    "Fit the following function: $y = k*x + d$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [],
   "source": [
    "# Generate a noisy line\n",
    "t = np.arange(-100, 100)\n",
    "\n",
    "# use a Python \"dictionary\" for named variables\n",
    "par = {'offset':100, 'slope':0.5, 'noiseAmp':4}\n",
    "\n",
    "# Everything with random numbers is in the numpy sub-package \"np.random\"\n",
    "x = par['offset'] + par['slope']*t + par['noiseAmp']*np.random.randn(len(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b34635c1f0>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(t,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b3463ccd00>]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Boolean indexing works in Python: select \"late\" values, i.e. with t>10\n",
    "x_high = x[t>10]\n",
    "t_high = t[t>10]\n",
    "\n",
    "# Plot the \"late\" data\n",
    "plt.plot(t_high, x_high)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([3, 4, 5, 6, 7])"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Boolean indices can be combined:\n",
    "x = np.arange(10)\n",
    "top_range = x>2\n",
    "bottom_range = x<8\n",
    "x[top_range & bottom_range]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "   ## Fitting a line to the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [],
   "source": [
    "# Determine the best-fit line\n",
    "# To do so, you have to generate a so-called Design Matrix, with \"time\" in the first\n",
    "# column, and a column of \"1\" in the second column:\n",
    "x_mat = np.column_stack( [t_high, np.ones(len(t_high))])\n",
    "\n",
    "# A numerical detail: For the least-squares solution to a linear matrix equation,\n",
    "# the optional parameter \"rcond\" determines how  small singular values\n",
    "# of the matrix are handled.\n",
    "slope, intercept = np.linalg.lstsq(x_mat, x_high, rcond=None)[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fit line: intercept = {intercept:5.3f}, and slope = {slope:5.3f}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Show and plot the fit, and save it to a PNG-file with a medium resolution.\n",
    "# The \"modern\" way of Python-formatting is used\n",
    "plt.plot(t_high, x_high)\n",
    "plt.plot(t_high, intercept + slope*t_high, 'r')\n",
    "plt.savefig('linefit.png', dpi=200)\n",
    "print(r'Fit line: intercept = {intercept:5.3f}, and slope = {slope:5.3f}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Pandas\n",
    "If you want to know confidence intervals, best switch to  a combination of \n",
    "*pandas* and *statsmodels*.\n",
    "\n",
    "* Pandas is mainly used for statistics and worksheet-like data\n",
    "* statsmodels is for statistical modeling, here for an \"ordinary least square\" (OLS) \n",
    "determination of the best-fit parameters to the data model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                 Results: Ordinary least squares\n",
      "=================================================================\n",
      "Model:              OLS              Adj. R-squared:     0.934   \n",
      "Dependent Variable: y                AIC:                475.3221\n",
      "Date:               2022-10-25 13:11 BIC:                480.2994\n",
      "No. Observations:   89               Log-Likelihood:     -235.66 \n",
      "Df Model:           1                F-statistic:        1246.   \n",
      "Df Residuals:       87               Prob (F-statistic): 2.44e-53\n",
      "R-squared:          0.935            Scale:              11.948  \n",
      "------------------------------------------------------------------\n",
      "             Coef.   Std.Err.     t      P>|t|    [0.025   0.975] \n",
      "------------------------------------------------------------------\n",
      "Intercept   99.8006    0.8658  115.2722  0.0000  98.0797  101.5214\n",
      "x            0.5034    0.0143   35.2947  0.0000   0.4750    0.5317\n",
      "-----------------------------------------------------------------\n",
      "Omnibus:              2.951        Durbin-Watson:           2.010\n",
      "Prob(Omnibus):        0.229        Jarque-Bera (JB):        2.575\n",
      "Skew:                 0.416        Prob(JB):                0.276\n",
      "Kurtosis:             3.047        Condition No.:           143  \n",
      "=================================================================\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import statsmodels.formula.api as smf\n",
    "\n",
    "# Note that this is an advanced topic, and requires new data structures\n",
    "# such ad \"DataFrames\" and \"ordinary-least-squares\" or \"ols-models\".\n",
    "my_dict = {'x':t_high, 'y':x_high}\n",
    "df = pd.DataFrame(my_dict)\n",
    "model = smf.ols('y~x', df).fit()\n",
    "print(model.summary2())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# More Python Info on the Web"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "source": [
    "[http://scipy-lectures.github.com/](http://scipy-lectures.github.com/) Python Scientifc Lecture Notes. **If you read nothing else, read this!**\n",
    "\n",
    "[https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html](https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html) Start here if you have lots of Matlab experience.\n",
    "\n",
    "[https://docs.python.org/3.7/tutorial/](https://docs.python.org/3.6/tutorial/) The Python tutorial. The original introduction.\n",
    "\n",
    "[http://jrjohansson.github.com/](http://jrjohansson.github.com/) Lectures on scienti\f",
    "c computing with Python. Great ipython notebooks!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"data/images/Forward.png\" style=\"float: right\"> [2_VectorsAndMatrices](2_VectorsAndMatrices.ipynb)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.4"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "toc-autonumbering": true,
  "toc-showcode": false,
  "toc-showmarkdowntxt": false,
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
